package org.auth.service;

import org.auth.cache.bean.CacheObjectBean;
import org.auth.cache.bean.VerificationCode;

public interface BaseVerificationCodeService {

	/**
	 * 生成验证码
	 * 
	 * @param telphone 手机号
	 * @param clientName 客户端类型
	 * @return 验证码
	 */
	public VerificationCode getVerificationCode(String telphone, String clientName);
	
	/**
	 * 生成验证码
	 * 
	 * @param telphone 手机号
	 * @param clientName 客户端类型
	 * @param check check
	 * @return 验证码
	 */
	public VerificationCode getVerificationCode(String telphone, String clientName, CacheObjectBean check);
	
	/**
	 * 更新验证码
	 * 
	 * @param telphone 手机号
	 * @param clientName 客户端类型
	 * @param verificationCode 验证码
	 * @return 验证码
	 */
	public VerificationCode updateLastSendDate(String telphone, String clientName, VerificationCode verificationCode);
	
	/**
	 * 检测验证码
	 * 
	 * @param telphone 手机号
	 * @param clientName 客户端类型
	 * @param verificationCode 验证码
	 * @return 验证结果
	 */
	public boolean chkVerificationCode(String telphone, String clientName, String verificationCode);
	
	/**
	 * 删除验证码
	 * 
	 * @param telphone 手机号
	 * @param clientName 客户端类型
	 */
	public void delVerificationCode(String telphone, String clientName);
}
